Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Another attempt at running Python 3.7 on Travis #1369

Closed
wants to merge 16 commits into from

Conversation

DRMacIver
Copy link
Member

No description provided.

@DRMacIver DRMacIver changed the title Another attempt at running Python 3.7 on Travis [WIP] Another attempt at running Python 3.7 on Travis Jun 29, 2018
@DRMacIver
Copy link
Member Author

I'm declaring bankruptcy on this. If anyone is invested in 3.7 support, they're welcome to pick this up. https://api.travis-ci.org/v3/job/398380615/log.txt is the last build I have of this.

As far as I can tell what is happening is that Python is correctly building against the right version of OpenSSL that I am telling it to but then at runtime is loading the shared library for the system OpenSSL. I have no idea what to do about this and I no longer care.

@webknjaz
Copy link

webknjaz commented Jul 1, 2018

@DRMacIver I've got a way to break into travis worker box:

install:
- sudo apt-get install -y software-properties-common
- sudo add-apt-repository -y ppa:tmate.io/archive
- sudo apt-get update -y
- sudo apt-get install -y tmate

script:
- ssh-keygen -b 4096 -t rsa -f ~/.ssh/id_rsa -q -P ""
- tmate -S /tmp/tmate.sock new-session -d               # Launch tmate in a detached state
- tmate -S /tmp/tmate.sock wait tmate-ready             # Blocks until the SSH connection is established
- tmate -S /tmp/tmate.sock display -p '#{tmate_ssh}'    # Prints the SSH connection string
- tmate -S /tmp/tmate.sock display -p '#{tmate_ssh_ro}' # Prints the read-only SSH connection string
- tmate -S /tmp/tmate.sock display -p '#{tmate_web}'    # Prints the web connection string
- tmate -S /tmp/tmate.sock display -p '#{tmate_web_ro}' # Prints the read-only web connection string
- |
    while :
    do
      echo -n .
      sleep 30s
    done &
- sleep infinity

This might help you to explore more without having to push new commits. (Well, you can actually also use their docker images for testing locally)

@webknjaz
Copy link

webknjaz commented Jul 1, 2018

excerpt from build log:

*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-3.7/_ssl.cpython-37m-x86_64-linux-gnu.so: undefined symbol: SSL_CTX_set_alpn_protos

The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
_abc                  atexit                pwd                
time                                                           


Following modules built successfully but were removed because they could not be imported:
_ssl                                                           


Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381

@webknjaz
Copy link

webknjaz commented Jul 2, 2018

I was able to build it under travisci/ci-garnet:packer-1512502276-986baf0 (docker image used by Travis CI) by downloading and compiling openssl and then downloading and compiling cpython, with env vars pointing to dir with openssl sources and *.sos: LDFLAGS="-L$HOME/openssl-1.1.0h" CFLAGS="-I$HOME/openssl-1.1.0h"

@Zac-HD Zac-HD deleted the DRMacIver/py37 branch November 3, 2018 02:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants